package q856_scoreOfParentheses;

public class Solution_1 {
    /*
    括号的分数
    最容易理解的方法，时间复杂度和空间复杂度也都达到n方
    通过分治的形式，当遇到一个完全闭合的括号
    那么就离开循环 关注此时的i到达什么位置
    然后进入递归调用
     */
    public int scoreOfParentheses(String s) {
        if (s.length() == 2) return 1;
        int curScore = 0, i = 0;
        for (i = 0; i < s.length(); i++) {
            curScore += s.charAt(i) == '(' ? 1 : -1;
            if (curScore == 0) break;
        }
        if (i == s.length() - 1) return 2 * scoreOfParentheses(s.substring(1, i));
        else return scoreOfParentheses(s.substring(0, i + 1)) + scoreOfParentheses(s.substring(i + 1));
    }
}
